Considered harmful
In computer science and related disciplines, considered harmful is a phrase popularly used in the titles of diatribes and other critical essays (there are at least 65 such works[1]). It was popularized by Edsger Dijkstra's letter Go To Statement Considered Harmful,[2] [3] published in the March 1968 Communications of the ACM (CACM), in which he criticized the excessive use of the GOTO statement in programming languages of the day and advocated structured programming instead.[4] The original title of the letter, as submitted to CACM, was A Case Against the Goto Statement, but CACM editor Niklaus Wirth changed the title to the now immortalized Go To Statement Considered Harmful.[5] Regarding this new title, Donald Knuth quipped that "Dr. Goto cheerfully complained that he was always being eliminated."[6]
Frank Rubin published a criticism of Dijkstra's letter in the March 1987 CACM where it appeared under the title 'GOTO Considered Harmful' Considered Harmful.[7] The May 1987 CACM printed further replies, both for and against, under the title '"GOTO Considered Harmful" Considered Harmful' Considered Harmful?.[8] Dijkstra's own response to this controversy was titled On a Somewhat Disappointing Correspondence.[9]
According to linguist Mark Liberman, considered harmful was a journalistic cliché, used in headlines, well before the Dijkstra article. He cites the headline over a letter published August 12, 1949 in The New York Times: "Rent Control Controversy / Enacting Now of Hasty Legislation Considered Harmful".[10]
Variants
Some variants with replacement adjectives (considered silly, etc.) have been noted in hacker jargon.[11][12] Many variants dealt with computer-related issues, such as "'Reply-To' Munging Considered Harmful",[13] "XMLHttpRequest Considered Harmful",[14] "Csh Programming Considered Harmful",[15] "Turing Test Considered Harmful",[16] and "Geek Culture Considered Harmful to Perl".[17] Web design consultant Eric A. Meyer focused upon the letter, itself: "Considered Harmful Essays Considered Harmful".[18]
Related essays
- William Wulf and Mary Shaw (February 1973). "Global Variable Considered Harmful". ACM SIGPLAN Notices 8 (2): 28–34. doi:10.1145/953353.953355.
- Bruce A. Martin (November 15–19, 1976). "Letter O Considered Harmful". proposal considered by X3J3 members. Brookhaven National Laboratory, Upton, NY: X3J3: ANSI Fortran Standards Committee. (Full proposal text was included in post-meeting distribution; see Fortran for summary.)
- Rob Pike and Brian Kernighan (1983). "UNIX Style, or cat -v Considered Harmful". USENIX. http://harmful.cat-v.org/cat-v/.
- John McCarthy (December 1989). "Networks Considered Harmful for Electronic Mail". CACM 32 (12): 1389–1390. http://www-formal.stanford.edu/jmc/harmful.html.
- CA Kent, JC Mogul (January 1995). "Fragmentation Considered Harmful". ACM SIGCOMM Computer Communication Review 25: 75–87. doi:10.1145/205447.205456. http://portal.acm.org/citation.cfm?id=205447.205456.
- Tom Christiansen (October 1996). "Csh Programming Considered Harmful". http://harmful.cat-v.org/software/csh. See C shell.
- Peter Miller (1998). "Recursive Make Considered Harmful". AUUGN Journal of AUUG Inc. 19 (1): 14–25. http://miller.emu.id.au/pmiller/books/rmch/.
- Jonathan Amsterdam (February 2002). "Java's new Considered Harmful". Software Development Magazine. http://www.ddj.com/java/184405016.
- Ian Hickson (September 2002). "Sending XHTML as text/html Considered Harmful". http://hixie.ch/advocacy/xhtml.
- Eric A. Meyer (December 2002). ""Considered Harmful" Essays Considered Harmful". http://www.meyerweb.com/eric/comment/chech.html.
- C. Ponder, B. Bush (1992). "Polymorphism considered harmful". ACM SIGPLAN Notices 27 (6): 76–79. doi:10.1145/130981.130991.
- J Yoon, M Liu, B Noble (April 2003). "Random Waypoint Considered Harmful". Infocom 2: 1312. doi:10.1109/INFCOM.2003.1208967. http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=1208967.
- A Mishra, V Shrivastava, S Banerjee, W Arbaugh (June 2006). "Partially Overlapped Channels Not Considered Harmful". Sigmetrics 34: 63. doi:10.1145/1140103.1140286. http://portal.acm.org/citation.cfm?id=1140103.1140286.
- Alexander Sotirov, Marc Stevens, Jacob Appelbaum, Arjen Lenstra, David Molnar, Dag Arne Osvik, Benne de Weger (December 2008). "MD5 considered harmful today - Creating a rogue CA certificate". http://www.win.tue.nl/hashclash/rogue-ca/.
- Jun-ichiro itojun Hagino (October 2003). "IPv4-Mapped Addresses on the Wire Considered Harmful". http://tools.ietf.org/html/draft-itojun-v6ops-v4mapped-harmful-02.
See also
References
- ^ "Miscellaneous - Considered Harmful". http://jeff.over.bz/?04_Miscellaneous/03_Considered_Harmful. Retrieved August 17, 2009.
- ^ Edsger Dijkstra (March 1968). "Go To Statement Considered Harmful" (PDF). Communications of the ACM 11 (3): 147–148. doi:10.1145/362929.362947. "The unbridled use of the go to statement has as an immediate consequence that it becomes terribly hard to find a meaningful set of coordinates in which to describe the process progress. ... The go to statement as it stands is just too primitive, it is too much an invitation to make a mess of one's program."
- ^ Dijkstra, Edsger W. EWD-215. E.W. Dijkstra Archive. Center for American History, University of Texas at Austin. (original; transcription)
- ^ David R. Tribble (February 2005). "Go To Statement Considered Harmful: A Retrospective". http://david.tribble.com/text/goto.html.
- ^ Dijkstra, Edsger W. What led to "Notes on Structured Programming" (EWD-1308). E.W. Dijkstra Archive. Center for American History, University of Texas at Austin. (original; transcription) (June, 2001)
- ^ Kanada, Yasumasa (2005), An obituary of Eiichi Goto, "Events and Sightings", IEEE Annals of the History of Computing 27 (3): 92, doi:10.1109/MAHC.2005.37
- ^ Frank Rubin (March 1987). ""GOTO Considered Harmful" Considered Harmful" (PDF). Communications of the ACM 30 (3): 195–196. doi:10.1145/214748.315722. http://www.ecn.purdue.edu/ParaMount/papers/rubin87goto.pdf.
- ^ Donald Moore, Chuck Musciano, Michael J. Liebhaber, Steven F. Lott and Lee Starr (May 1987). "" 'GOTO Considered Harmful' Considered Harmful" Considered Harmful?" (PDF). Communications of the ACM 30 (5): 351–355. http://www.ecn.purdue.edu/ParaMount/papers/acm_may87.pdf.
- ^ Dijkstra, Edsger W. On a Somewhat Disappointing Correspondence (EWD-1009). E.W. Dijkstra Archive. Center for American History, University of Texas at Austin. (original; transcription) (May, 1987)
- ^ "Language Log: Considered harmful". April 8, 2008. http://itre.cis.upenn.edu/~myl/languagelog/archives/004675.html. Retrieved August 17, 2009.
- ^ Yash Tulsyan et al. (June 25, 2011). "considered harmful". The Jargon File. http://www.cosman246.com/jargon.html#considered%20harmful. Retrieved July 31, 2011.
- ^ Steve Yegge (October 21, 2009). "considered stupid". http://steve.yegge.googlepages.com/singleton-considered-stupid.
- ^ Rosenthal, Chip (November 14, 2002). ""Reply-To" Munging Considered Harmful". http://www.unicom.com/pw/reply-to-harmful.html. Retrieved August 17, 2009.
- ^ Levitt, Jason (November 9, 2005). "XMLHttpRequest Considered Harmful". XML.com. http://www.xml.com/pub/a/2005/11/09/fixing-ajax-xmlhttprequest-considered-harmful.html. Retrieved August 17, 2009.
- ^ Christiansen, Tom (October 6, 1996). "Csh Programming Considered Harmful". http://www.faqs.org/faqs/unix-faq/shell/csh-whynot/. Retrieved August 17, 2009.
- ^ Hayes, Patrick J., Ford, Ken (1995). "Turing Test Considered Harmful". Proceedings of the Fourteenth International Joint Conference on Artificial Intelligence. International Joint Conference on Artificial Intelligence. Montreal, Quebec, Canada.. pp. 972–997. http://www.ijcai.org/Past%20Proceedings/IJCAI-95-VOL%201/pdf/125.pdf. Retrieved October 27, 2011.
- ^ "Geek Culture Considered Harmful to Perl". August 19, 2008. http://petdance.com/perl/geek-culture/. Retrieved August 17, 2009.
- ^ Eric A. Meyer. "Considered harmful essays considered harmful". http://meyerweb.com/eric/comment/chech.html.
External links